In general, a serial access memory is a kind of computer memory in which data are available only in the same sequence as originally stored. The serial access memory includes an address counter, which generally increments an initial memory address as a block of data is being transferred into the memory locations indicated by the counter. Conventionally, a test of the address counter has been performed using a read-modify-write scheme to find degeneration of memory cells. In the test, predetermined data are written in every memory cell, then different data are rewritten in the same address of the memory cell. For example, data of "0" are written in every memory cell while incrementing the address counter, then the address counter is reset to "0", and then data of "1" are rewritten in the same address of the memory cell while incrementing the address counter.
In this case, if the address counter is not incremented in order when the data are read for rewriting, some memory cells store data "1" and the other memory cells store data "0." The data in the memory cells are again read in the same sequence as the rewriting. If all the read data are "1," the address counter is decided to be operating normally; however, if some data of "0" are included in the read data, the address counter is decided not to be operating normally and some addresses are degenerated. A serial access memory containing an address counter with degenerated addresses is rejected as a defective product.
Recently, such a serial access memory is becoming increasingly to have a large capacity, and therefore, it takes long time to perform the read/write test for each memory cell. As a result, it becomes difficult to improve productivity of the serial access memory. In addition, when the serial access memory is decide to be defective, it can not be known whether the problem is on the address counter or on other devices in the memory.